home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
archiver
/
unix
/
zip19p1.zoo
/
history
< prev
next >
Wrap
Text File
|
1992-08-26
|
50KB
|
938 lines
Note, this history contains mail addresses and ftp locations that no longer
exist, such as addresses at wsmr-simtel20 and directory names containing
w8sdz, among others. For problems, the correct email address is
zip-bugs@cs.ucla.edu.
------------------------ Nov 7 1990 version 0.0 ------------------------
------------------------ Nov 8 1990 version 0.1 ------------------------
------------------------ Nov 12 1990 version 0.2 ------------------------
------------------------ Nov 14 1990 version 0.3 ------------------------
Thank you for your comments. Here is Zip 0.3 with almost all of that fixed.
The changes include:
1. Put \n\ for newlines in long strings (everyone had this problem).
2. Wrote my own bsearch (called search---different args).
3. Wrote my own timelocal (called invlocal), used whether STDC or not.
(Note to Greg: look at the code---I found a simple way to do it.)
4. -m now deletes empty directories also.
5. Changed crc.c to util.c and put search() in util.c.
6. Changed "void *" to "voidp *" and made voidp void for STDC, else char.
7. Removed -a option.
8. Some minor changes to zip.doc.
I did not do anything about Cliff Manis's problem with DIR not being
defined. DIR should have been defined in sys/dir.h. If it wasn't, then
there's something wrong with dir.h, or it is missing, or the opendir, etc.
functions are missing. I don't really want to think about what to do for
the latter possibility.
NUnzip 3.99 does not appear to be Unix-ready. It fails for file names longer
than 12 characters (Segmentation fault), cannot find explicit names that
do not contain a dot, and does not notice the Unix identifier (which should
switch off name to lower-case mapping).
------------------------ Nov 20 1990 version 0.4 ------------------------
Yo Zippers,
Here is a first attempt at a Zip intended to work on System V. Try using
"make sysv" for such systems. I also included replacements for memset()
and memcmp() by Bill Davidsen and James Dugal for systems without those.
Use "make old" to include those routines. Sun's use getdents() like Sys V,
even though it's BSD, so use "make sun". For others, try just "make".
When using "make" a second time with a different request, it's best to erase
all the .o files to force recompiling everything.
What follows are the changes I made and some things to try if you get it
compiled. Have fun.
Mark
Changes from Zip 0.3 to Zip 0.4:
1. Changed third arg of search() to size_t to make lint happier.
2. Replaced zip.doc with a man page, zip.1 (raw) and zip.man (formatted).
3. rename() replaced with link() and unlink().
4. Fixed vem in central header and added REVISION and REVDATE #define's
to zip.h. (Didn't read Phil's appnote.txt carefully enough there.)
5. Removed prototypes except for development host (NeXT). (They're only
there for my benefit anyway---they should not affect the resulting
code. Consider them some meager documentation.)
6. Changed rindex() to strrchr().
7. Improved behavior on a write failure when -b is used.
8. Added Bill Davidsen's and James Dugal's memset(), memcpy(), and
memcmp() routines under the trusty ZMEM #define.
9. Check that zip file is writeable before doing any real work.
10. Added #ifdef REGEX to use regcmp(), regex() instead of re_comp(),
re_exec(). (We'll see if this works.)
11. Replaced opendir(), readdir(), closedir() with my own opend(), readd(),
and closed() routines that use getdirentries() on BSD and getdents() on
System V (I hope) and Sun's. An #ifdef DIRENT selects getdents().
12. zip.h no longer #includes string.h, instead defining the string
functions used explicitly.
If you get Zip 0.4 to compile, here are some things to test:
1. Try zipping up some stuff, of course. Use all the options that are
implemented. Especially try -rp and -rpm on a directory tree (use
*test* files and directories, of course).
2. Naturally check with unzip -t, but also check with "zip xxx" where
xxx.zip is the zip file. This should say "nothing to do", but if it
says "error in zip file structure", there's a problem.
3. After zipping, check that there are no $Z* files leftover.
4. Try using -b, specifying a path on another device. Check for $Z*'s.
5. Try -d and a regular expression (like \*.o) on a zip file.
6. And I'm interested in timing---try it on a 500K or so text file.
------------------------ Nov 27 1990 version 0.5 ------------------------
Hail fellow zippers,
Here's Zip 0.5. The biggie is it now includes implosion, courtesy of Rich
Wales. Even as we speak, he is working on new algorithms for implode that
promise to be significantly faster. He might even get a paper out of it ...
You can use the -s option (shrink only) when testing to save a little time,
but also try it normally to test implosion (if you test with text files
of reasonable length, implosion will be chosen for most of them). Also, for
speed testing of implosion, use -i to not waste time trying to shrink.
Including implosion about doubles the size of zipnn.tar.Z, so I would like
some input on distributing subsequent versions. Would y'all like to keep
on getting the uuencoded version via mail, or would you prefer a notice
about availability via anonymous ftp on simtel20.army.mil in <w8sdz.zip>?
(I have been sending the previous versions to Keith to put there, and will
continue to do so. I do not know what the lag time is for him to move it
there.)
The other important change is that this is another attempt at getting the
directory access routines working on all systems. Read the installation
part of the manual page (zip.man). And if you feel like, read the whole
thing. I'm also taking suggestions for and bugs in the documentation.
The differences from Zip 0.4 include:
1. Changed all occurences of "size_t" to "extent" and typedef'ed extent
to size_t (after an #include <stddef.h>) for ANSI C, or unsigned int
otherwise. If anyone finds that they have a non ANSI C, that size_t
is defined, and that it is not the size of the compiler's int, then
please let me know.
2. Changed help() to put the help text in a static array of strings and
then printf() for each line. Some compilers barfed on the long
string. Suggested by davidsen@crdos1.crd.ge.com.
3. Added Rich Wales' implode routines, made their inclusion the default
(changed #ifdef IMPLODE to #ifndef NOIMPLODE).
4. Put "extern int errno;" in unixfile.c (redundant extern's should be ok).
5. Minor changes to the man page (zip.1 and zip.man).
6. Added warnings for names given on the command line that are not matched.
Lack pointed out by grimesg@sj.ATE.SLB.COM (George).
7. Changed back to opendir(), etc. on BSD systems.
8. Added NDIR #define for HPUX to #include <ndir.h> instead of <sys/dir.h>.
9. Redid Makefile, adding next (use shared library), sysvpw (System V's
that require linking the libPW library for regex routines), and hpux
(see #8 above).
As usual, report problems to info-zip@wsmr-simtel20.army.mil. If you wish,
you can, in addition, send the same report to me (madler@piglet.caltech.edu)
or Rich (wales@cs.ucla.edu) if the problem is with implosion (i* files) for
quicker reponse.
your humble servant,
Mark Adler
------------------------ Dec 7 1990 version 0.6 ------------------------
Greetings and Felicitations Honorable Zip Compatriots,
I have uploaded Zip 0.6, which incorporates most of your helpful comments,
to Simtel20.Army.Mil, and it should evenually end up in <W8SDZ.ZIP> as
ZIP06.TAR-Z. The most significant change is the addition of encryption
both as the -e option in Zip, and a new program, ZipCloak, that encrypts
and decrypts zip entries. This surely adds some new portability problems,
due to the getp() routine which reads a password from the terminal with no
echoing. We'll see how well this flies ...
If someone wants to PKZIP up the tar.Z file, please do so. I didn't zip
it up myself because a) I'm lazy, and b) PKZIP can compress it better
anyhow, and I don't have a PC.
Also, there is an EXPORT symbol used to remove encryption, so I can make
an export version that does not have -e or Zi